home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 12.5 KB | 306 lines | [TEXT/MPS ] |
- /*
- File: Controls.idl
-
- Contains: Control Manager interfaces
-
- Version: Technology: System 7.5
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __CONTROLS_IDL__
- #define __CONTROLS_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __TYPES_IDL__
- #include <Types.idl>
- #endif
- #ifndef __QUICKDRAW_IDL__
- #include <Quickdraw.idl>
- #endif
- #ifndef __MENUS_IDL__
- #include <Menus.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- /*
- _________________________________________________________________________________________________________
- • CONTROL DEFINITION ID'S
- _________________________________________________________________________________________________________
- Standard System 7 procID's
- */
- /*
- _________________________________________________________________________________________________________
- • VARIANT CODES
- _________________________________________________________________________________________________________
- */
- typedef SInt16 ControlVariant;
-
- /*
- _________________________________________________________________________________________________________
- • CONTROL PART CODES
- _________________________________________________________________________________________________________
- */
- typedef SInt16 ControlPartCode;
-
- /*
- _________________________________________________________________________________________________________
- • CHECK BOX VALUES
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
- • RADIO BUTTON VALUES
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL POP-UP MENU CONSTANTS
- _________________________________________________________________________________________________________
- Variant codes for the System 7 pop-up menu
- */
- /* Menu label styles for the System 7 pop-up menu */
- /* Menu label justifications for the System 7 pop-up menu*/
- /*
- _________________________________________________________________________________________________________
- • CONTROL DRAGGRAYRGN CONSTANTS
- For DragGrayRgnUPP used in TrackControl()
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
- • CONTROL COLOR TABLE PART CODES
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
- • CONTROLHANDLE & CONTROLREF
- _________________________________________________________________________________________________________
- */
-
-
- typedef OpaquePtr ControlPtr; /* Substituted OpaquePtr for “ControlRecord*” */
-
- typedef OpaquePtr ControlHandle; /* Substituted OpaquePtr for “ControlPtr*” */
-
- typedef ControlHandle ControlRef;
-
- /*
- _________________________________________________________________________________________________________
- • CONTROL ACTIONPROC POINTER
- _________________________________________________________________________________________________________
- */
- typedef OpaquePtr ControlActionProcPtr;
- typedef OpaquePtr ControlActionUPP;
- /*
- _________________________________________________________________________________________________________
- • CONTROL COLOR TABLE
- _________________________________________________________________________________________________________
- */
- typedef SOMLargeStruct CtlCTab; /* Derived from a struct of 40 bytes in size */
-
- typedef OpaquePtr CCTabPtr; /* Substituted OpaquePtr for “CtlCTab*” */
-
- typedef OpaquePtr CCTabHandle; /* Substituted OpaquePtr for “CCTabPtr*” */
-
- /*
- _________________________________________________________________________________________________________
- • CONTROL RECORD
- _________________________________________________________________________________________________________
- */
- typedef SOMLargeStruct ControlRecord; /* Derived from a struct of 296 bytes in size */
-
- /*
- _________________________________________________________________________________________________________
- • AUXILLARY CONTROL RECORD STRUCTURE
- _________________________________________________________________________________________________________
- */
- typedef SOMLargeStruct AuxCtlRec; /* Derived from a struct of 22 bytes in size */
-
- typedef OpaquePtr AuxCtlPtr; /* Substituted OpaquePtr for “AuxCtlRec*” */
-
- typedef OpaquePtr AuxCtlHandle; /* Substituted OpaquePtr for “AuxCtlPtr*” */
-
- /*
- _________________________________________________________________________________________________________
- • POP-UP MENU PRIVATE DATA STRUCTURE
- _________________________________________________________________________________________________________
- */
- typedef SOMLargeStruct PopupPrivateData; /* Derived from a struct of 6 bytes in size */
-
- typedef OpaquePtr PopupPrivateDataPtr; /* Substituted OpaquePtr for “PopupPrivateData*” */
-
- typedef OpaquePtr PopupPrivateDataHandle; /* Substituted OpaquePtr for “PopupPrivateDataPtr*” */
-
- /*
- _________________________________________________________________________________________________________
- • CONTROL ACTION PROC UPP'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL CREATION / DELETION API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL SHOWING/HIDING API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL DRAWING API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL HIGHLIGHT API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL TRACKING/DRAGGING API'S
- _________________________________________________________________________________________________________
- When using the TrackControl() call when tracking an indicator, the actionProc parameter (type ControlActionUPP)
- should be replaced by a parameter of type DragGrayRgnUPP (see Quickdraw.h).
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL MOVING/SIZING API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL TITLE API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL VALUE, MIMIMUM, AND MAXIMUM API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL VARIANT AND WINDOW INFORMATION API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL ACTION PROC API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONTROL ACCESSOR API'S
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • VALID 'CDEF' MESSAGES
- _________________________________________________________________________________________________________
- */
- typedef SInt16 ControlDefProcMessage;
-
- /*
- _________________________________________________________________________________________________________
-
- • MAIN ENTRY POINT FOR 'CDEF'
- _________________________________________________________________________________________________________
- */
- typedef OpaquePtr ControlDefProcPtr;
- typedef OpaquePtr ControlDefUPP;
- /*
- _________________________________________________________________________________________________________
-
- • CONSTANTS FOR DRAWCNTL MESSAGE PASSED IN PARAM
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • CONSTANTS FOR DRAGCNTL MESSAGE PASSED IN PARAM
- _________________________________________________________________________________________________________
- */
- /*
- _________________________________________________________________________________________________________
-
- • DRAG CONSTRAINT STRUCTURE PASSED IN PARAM FOR THUMBCNTL MESSAGE (IM I-332)
- _________________________________________________________________________________________________________
- */
- typedef SOMLargeStruct IndicatorDragConstraint; /* Derived from a struct of 18 bytes in size */
-
- typedef OpaquePtr IndicatorDragConstraintPtr; /* Substituted OpaquePtr for “IndicatorDragConstraint*” */
-
- typedef OpaquePtr IndicatorDragConstraintHandle; /* Substituted OpaquePtr for “IndicatorDragConstraintPtr*” */
-
- /*
- _________________________________________________________________________________________________________
- • C GLUE
- _________________________________________________________________________________________________________
- */
- #if OLDROUTINENAMES
- /*
- _________________________________________________________________________________________________________
- • OLDROUTINENAMES
- _________________________________________________________________________________________________________
- Variants applicable to all controls (at least ones with text)
- */
- #endif
- /*
- *****************************************************************************
- * *
- * The conditional STRICT_CONTROLS has been removed from this interface file.*
- * The accessor macros to a ControlRecord are no longer necessary. *
- * *
- *****************************************************************************
-
- Details:
- The original purpose of the STRICT_ conditionals and accessor macros was to
- help ease the transition to Copland. Shared data structures are difficult
- to coordinate in a preemptive multitasking OS. By hiding the fields in a
- WindowRecord and other data structures, we would begin the migration to
- system data structures being completely hidden from applications.
-
- After many design reviews, it was finally concluded that with this sort of
- migration, the system could never tell when an application was no longer
- peeking at a WindowRecord, and thus the data structure might never become
- system owned. Additionally, there were many other limitations in the classic
- toolbox that were begging to be addressed.
-
- The final decision was to leave the traditional toolbox as a compatibility mode.
- The preferred toolbox API for Copland is a new SOM(tm) based architecture
- (e.g. HIWindows.idl). Windows, menu, controls, etc are each a SOM object
- with methods for drawing, event handling, and customization.
-
- */
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __CONTROLS_IDL__ */
-
-